package com.taijihuabao.modules.model.quit.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.Date;

/**
 * 离职信息
 *
 * @author wang
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
@ApiModel("离职信息")
public class QuitVO {

    /**
     * 审批主键
     */
    @ApiModelProperty(value = "审批主键")
    @JsonSerialize(using = com.taijihuabao.common.commonutils.LongToStringSerializer.class)
    private Long id;
    /**
     * 审批类型
     */
    @ApiModelProperty(value = "审批类型")
    private String approvalType;
    /**
     * 审批编码
     */
    @ApiModelProperty(value = "审批编码")
    private String approvalCode;
    /**
     * 业务主键
     */
    @ApiModelProperty(value = "业务表业务主键")
    private String businessId;
    /**
     * 申请人id
     */
    @ApiModelProperty(value = "申请人id")
    @JsonSerialize(using = com.taijihuabao.common.commonutils.LongToStringSerializer.class)
    private Long applyUserId;
    /**
     * 申请人姓名
     */
    @ApiModelProperty(value = "申请人姓名")
    private String applyName;
    /**
     * 申请部门
     */
    @ApiModelProperty(value = "申请部门")
    private String applyDeptCode;
    /**
     * 审批人id
     */
    @ApiModelProperty(value = "审批人id")
    @JsonSerialize(using = com.taijihuabao.common.commonutils.LongToStringSerializer.class)
    private Long approvalUserId;
    /**
     * 审批部门
     */
    @ApiModelProperty(value = "审批部门")
    private String approvalDeptCode;
    /**
     * 审批内容或意见
     */
    @ApiModelProperty(value = "审批意见")
    private String approvalOpinion;
    /**
     * 审批状态
     */
    @ApiModelProperty(value = "审批状态（ing审批中 pass审批通过 reject审批未通过）")
    private String approvalState;
    /**
     * 审批任务
     */
    @ApiModelProperty(value = "审批任务")
    private String approvalTask;
    /**
     * 申请编码（业务从表id）
     */
    @ApiModelProperty(value = "业务从表业务主键")
    private String applyCode;
    /**
     * 申请人所属岗位、职位
     */
    @ApiModelProperty(value = "申请人所属岗位、职位")
    private String applyPosition;
    /**
     * 直属领导
     */
    @ApiModelProperty(value = "直属领导")
    private String directLeader;

    /**
     * 是否面谈（0：否； 1：是）
     */
    @ApiModelProperty(value = "是否面谈（0：否； 1：是）")
    private Long whetherInterview;

    /**
     * 最后工作日
     */
    @ApiModelProperty(value = "最后工作日")
    private Date quitDate;
    /**
     * 申请内容（原因）
     */
    @ApiModelProperty(value = "申请内容（原因）")
    private String applyContent;

    /**
     * 申请备注
     */
    @ApiModelProperty(value = "申请备注")
    private String applyRemarks;

    /**
     * 审批节点
     */
    @ApiModelProperty(value = "审批节点")
    private String approvalFlow;
    /**
     * 流程名称
     */
    @ApiModelProperty(value = "流程名称")
    private String processName;

}
